| Model Advisor Report | |
| Simulink version: 8.2 | Model version: 1.164 |
| System: roll_ap | Current run: 03-Feb-2014 08:10:56 |
| Pass | Fail | Warning | Not Run | Total |
| |
|
|
|
33 |
Check optimization settings in the model configuration that might impact safety.
Verify 'Block reduction' setting
Check whether the Block reduction check box is cleared.
Passed
Optimization > Block reduction is cleared.
_________________________________________________________________________________________
Verify 'Implement logic signals as boolean data (vs. double)' setting
Check whether the Implement logic signals as boolean data (vs. double) check box is selected.
Passed
Optimization > Implement logic signals as Boolean data (vs. double) is selected.
_________________________________________________________________________________________
Verify 'Application lifespan' setting
Check whether Application lifespan is set to inf.
Passed
Optimization > Application lifespan is set to inf.
_________________________________________________________________________________________
Verify 'Remove root level I/O zero initialization' setting
Check whether the Remove root level I/O zero initialization checkbox is cleared.
Passed
Optimization > Remove root level I/O zero initialization is cleared.
_________________________________________________________________________________________
Verify 'Remove internal data zero initialization' setting
Check whether the Remove internal data zero initialization check box is cleared.
Passed
Optimization > Remove internal data zero initialization is cleared.
_________________________________________________________________________________________
Verify 'Remove code from floating-point to integer conversions that wraps out-of-range values' setting
Check whether the Remove code from floating-point to integer conversions that wraps out-of-range values check box is selected.
Passed
Optimization > Remove code from floating-point to integer conversions that wraps out-of-range values is selected.
_________________________________________________________________________________________
Verify 'Remove code that protects against division arithmetic exceptions' setting
Check whether the Remove code that protects against division arithmetic exceptions check box is cleared.
Passed
Optimization > Remove code that protects against division arithmetic exceptions is cleared.
_________________________________________________________________________________________
Verify 'Optimize using the specified minimum and maximum values' setting
Check whether the Optimize using the specified minimum and maximum values check box is cleared.
Passed
Optimization > Optimize using the specified minimum and maximum values is cleared.
Check diagnostic settings in the model configuration that apply to solvers and might impact safety.
Verify 'Algebraic loop' setting
Check whether the Algebraic loop menu is set to error.
Passed
Diagnostics > Solver > Algebraic loop is set to error.
_________________________________________________________________________________________
Verify 'Minimize algebraic loop' setting
Check whether the Minimize algebraic loop menu is set to error.
Passed
Diagnostics > Solver > Minimize algebraic loop is set to error.
_________________________________________________________________________________________
Verify 'Block priority violation' setting
Check whether the Block priority violation menu is set to error.
Passed
Diagnostics > Solver > Block priority violation is set to error.
_________________________________________________________________________________________
Verify 'Unspecified inheritability of sample time' setting
Check whether the Unspecified inheritability of sample time menu is set to error.
Passed
Diagnostics > Solver > Unspecified inheritability of sample time is set to error.
_________________________________________________________________________________________
Verify 'Automatic solver parameter selection' setting
Check whether the Automatic solver parameter selection menu is set to error.
Passed
Diagnostics > Solver > Automatic solver parameter selection is set to error.
_________________________________________________________________________________________
Verify 'State name clash' setting
Check whether the State name clash menu is set to warning.
Passed
Diagnostics > Solver > State name clash is set to warning.
Check diagnostic settings in the model configuration that apply to sample time and might impact safety.
Verify 'Source block specifies -1 sample time' setting
Check whether the Source block specifies -1 sample time menu is set to error
Passed
Diagnostics > Sample Time > Source block specifies -1 sample time is set to error.
_________________________________________________________________________________________
Verify 'Discrete used as continuous' setting
Check whether the Discrete used as continuous menu is set to error
Passed
Diagnostics > Sample Time > Discrete used as continuous is set to error.
_________________________________________________________________________________________
Verify 'Multitask rate transition' setting
Check whether the Multitask rate transition menu is set to error
Passed
Diagnostics > Sample Time > Multitask rate transition is set to error.
_________________________________________________________________________________________
Verify 'Multitask conditionally executed subsystems' setting
Check whether the Multitask conditionally executed subsystems menu is set to error
Passed
Diagnostics > Sample Time > Multitask conditionally executed subsystems is set to error.
_________________________________________________________________________________________
Verify 'Enforce sample times specified by signal specification blocks' setting
Check whether the Enforce sample times specified by Signal Specification blocks menu is set to error
Passed
Diagnostics > Sample Time > Enforce sample times specified by Signal Specification blocks is set to error.
Verify 'Signal resolution' setting
Check whether the Signal resolution menu is set to Explicit Only
Passed
Diagnostics > Data Validity > Signal resolution is set to Explicit only.
_________________________________________________________________________________________
Verify 'Division by singular matrix' setting
Check whether the Division by singular matrix menu is set to error
Passed
Diagnostics > Data Validity > Division by singular matrix is set to error.
_________________________________________________________________________________________
Verify 'Underspecified data types' setting
Check whether the Underspecified data types menu is set to error
Passed
Diagnostics > Data Validity > Underspecified data types is set to error.
_________________________________________________________________________________________
Verify 'Detect overflow' setting
Check whether the Detect overflow menu is set to error
Passed
Diagnostics > Data Validity > Signals > Detect overflow is set to error.
_________________________________________________________________________________________
Verify 'Inf or NaN block output' setting
Check whether the Inf or NaN block output menu is set to error
Passed
Diagnostics > Data Validity > Inf or NaN block output is set to error.
_________________________________________________________________________________________
Verify '"rt" prefix for identifiers' setting
Check whether the "rt" prefix for identifiers menu is set to error
Passed
Diagnostics > Data Validity > "rt" prefix for identifiers is set to error.
_________________________________________________________________________________________
Verify 'Simulation range checking' setting
Check whether the Simulation range checking menu is set to error
Passed
Diagnostics > Data Validity > Simulation range checking is set to error.
Verify 'Detect downcast' setting
Check whether the Detect downcast menu is set to error
Passed
Diagnostics > Data Validity > Detect downcast is set to error.
_________________________________________________________________________________________
Verify 'Detect underflow' setting
Check whether the Detect underflow menu is set to error
Passed
Diagnostics > Data Validity > Detect underflow is set to error.
_________________________________________________________________________________________
Verify 'Detect overflow' setting
Check whether the Detect overflow menu is set to error
Passed
Diagnostics > Data Validity > Parameters > Detect overflow is set to error.
_________________________________________________________________________________________
Verify 'Detect precision loss' setting
Check whether the Detect precision loss menu is set to error
Passed
Diagnostics > Data Validity > Detect precision loss is set to error.
_________________________________________________________________________________________
Verify 'Detect loss of tunability' setting
Check whether the Detect loss of tunability menu is set to error
Passed
Diagnostics > Data Validity > Detect loss of tunability is set to error.
Verify 'Model Verification block enabling' setting
Check whether the Model Verification block enabling menu is set to Disable All.
Passed
Diagnostics > Data Validity> Model Verification block enabling is set to Disable All.
Verify 'Detect read before write' setting
Check whether the Detect read before write menu is set to Enable all as errors.
Passed
Diagnostics > Data Validity > Detect read before write is set to Enable all as errors.
_________________________________________________________________________________________
Verify 'Detect write after read' setting
Check whether the Detect write after read menu is set to Enable all as errors.
Passed
Diagnostics > Data Validity > Detect write after read is set to Enable all as errors.
_________________________________________________________________________________________
Verify 'Detect write after write' setting
Check whether the Detect write after write menu is set to Enable all as error.
Passed
Diagnostics > Data Validity > Detect write after write is set to Enable all as error.
_________________________________________________________________________________________
Verify 'Multitask data store' setting
Check whether the Multitask data store menu is set to error.
Passed
Diagnostics > Data Validity > Multitask data store is set to error.
Verify 'Unnecessary type conversions' setting
Check whether the Unnecessary type conversions menu is set to warning.
Passed
Diagnostics > Type Conversion > Unnecessary type conversions is set to warning.
_________________________________________________________________________________________
Verify 'Vector/matrix block input conversion' setting
Check whether the Vector/matrix block input conversion menu is set to error.
Passed
Diagnostics > Type Conversion > Vector/Matrix Block Input Conversion is set to error.
_________________________________________________________________________________________
Verify '32-bit integer to single precision float conversion' setting
Check whether the 32-bit integer to single precision float conversion menu is set to warning.
Passed
Diagnostics > Type Conversion > 32 Bit Integer To single precision float conversion is set to warning.
Verify 'Signal label mismatch' setting
Check whether the Signal label mismatch menu is set to error.
Passed
Diagnostics > Connectivity > Signal label mismatch is set to error.
_________________________________________________________________________________________
Verify 'Unconnected block input ports' setting
Check whether the Unconnected block input ports menu is set to error.
Passed
Diagnostics > Connectivity > Unconnected block input ports is set to error.
_________________________________________________________________________________________
Verify 'Unconnected block output ports' setting
Check whether the Unconnected block output ports menu is set to error.
Passed
Diagnostics > Connectivity > Unconnected block output ports is set to error.
_________________________________________________________________________________________
Verify 'Unconnected lines' setting
Check whether the Unconnected lines menu is set to error.
Passed
Diagnostics > Connectivity > Unconnected lines is set to error.
Verify 'Unspecified bus object at root Outport block' setting
Check whether the Unspecified bus object at root Outport block menu is set to error.
Passed
Diagnostics > Connectivity > Unspecified bus object at root Outport block is set to error.
_________________________________________________________________________________________
Verify 'Element name mismatch' setting
Check whether the Element name mismatch menu is set to error.
Passed
Diagnostics > Connectivity > Element name mismatch is set to error.
_________________________________________________________________________________________
Verify 'Mux blocks used to create bus signals' and 'Bus signal treated as vector' settings
Check whether the Mux blocks used to create bus signals and Bus signal treated as vector menus are set to error.
Passed
Diagnostics > Connectivity > Mux blocks used to create bus signals and Diagnostics > Connectivity > Bus signal treated as vector are set to error.
Verify 'Invalid function-call connection' setting
Check whether the Invalid function-call connection menu is set to error.
Passed
Diagnostics > Connectivity > Invalid function-call connection is set to error.
_________________________________________________________________________________________
Verify 'Context-dependent inputs' setting
Check whether the Context-dependent inputs menu is set to Enable all as errors.
Passed
Diagnostics > Connectivity > Context-dependent inputs is set to Enable all as errors.
Verify 'S-function upgrades needed' setting
Check whether the S-function upgrades needed is set to error.
Passed
Diagnostics > Compatibility > S-function upgrades needed is set to error.
Check safety-related diagnostic settings for model initialization
Check whether Diagnostics > Data Validity >Underspecified initialization detection is set to Simplified. If it is set to Classic check that the sub-parameters are selected.
Passed
Diagnostics > Data Validity >Underspecified initialization detection is set to Simplified.
Verify 'Model block version mismatch' setting
Check whether the Model block version mismatch menu is set to none.
Passed
Diagnostics > Model Referencing > Model block version mismatch is set to none.
_________________________________________________________________________________________
Verify 'Port and parameter mismatch' setting
Check whether the Port and parameter mismatch menu is set to error.
Passed
'Diagnostics > Model Referencing > Port and parameter mismatch is set to error.
_________________________________________________________________________________________
Verify 'Model configuration mismatch' setting
Check whether the Model configuration mismatch menu is set to warning.
Passed
Diagnostics > Model Referencing > Model configuration mismatch is set to warning.
_________________________________________________________________________________________
Verify 'Invalid root Inport/Outport block connection' setting
Check whether the Invalid root Inport/Outport block connection menu is set to error.
Passed
Diagnostics > Model Referencing > Invalid root Inport/Outport block connection is set to error.
_________________________________________________________________________________________
Verify 'Unsupported data logging' setting
Check whether the Unsupported data logging menu is set to error.
Passed
Diagnostics > Model Referencing > Unsupported data logging is set to error.
Verify Rebuild options setting
Check whether the Model Referencing > Rebuild options menu is set to Never or If any changes detected.
Passed
Model Referencing > Rebuild options is set to Never or If any changes detected.
_________________________________________________________________________________________
Verify Never rebuild targets diagnostic setting
Check whether the Model Referencing > Never rebuild targets diagnostic menu is set to Error if targets require rebuild. Setting Model Referencing > Rebuild options to Never enables this menu.
Passed
Model Referencing > Rebuild options is not set to Never.
_________________________________________________________________________________________
Verify Pass fixed-size scalar root inputs by value for code generation setting
Check whether the Model Referencing > Pass fixed-size scalar root inputs by value for code generation check box is cleared.
Passed
Model Referencing > Pass fixed-size scalar root inputs by value for code generation is cleared.
_________________________________________________________________________________________
Verify Minimize algebraic loop occurrences setting
Check whether the Model Referencing > Minimize algebraic loop occurrences check box is cleared.
Passed
Model Referencing > Minimize algebraic loop occurrences check box is cleared.
Verify 'Include comments' setting
Check whether the Include comments check box is selected.
Passed
Code Generation > Comments > Include comments is selected.
_________________________________________________________________________________________
Verify Simulink block/ Stateflow object comments' setting
Check whether the Simulink block/ Stateflow object comments check box are selected. Selecting Include comments enables this check box.
Passed
Code Generation > Comments > Simulink block/ Stateflow object comments is selected.
_________________________________________________________________________________________
Verify 'Show eliminated blocks' setting
Check whether the Show eliminated blocks check box is selected.
Passed
Code Generation > Comments > Eliminated / virtual blocks is selected.
_________________________________________________________________________________________
Verify 'Verbose comments for SimulinkGlobal storage class' setting
Check whether the Verbose comments for SimulinkGlobal storage class check box is selected. Selecting Include comments enables this check box.
Passed
Code Generation > Comments > Verbose comments for SimulinkGlobal storage class is selected.
_________________________________________________________________________________________
Verify 'Requirements in block comments' setting
Check whether the Requirements in block comments check box is selected. Selecting Include comments enables this check box.
Passed
Code Generation > Comments > Requirements in block comments is selected.
_________________________________________________________________________________________
Verify 'non-finite numbers' setting
Check whether the non-finite numbers check box is cleared. Selecting Support: floating-point numbers enables this check box.
Passed
Code Generation > Interface > non-finite numbers is cleared.
_________________________________________________________________________________________
Verify 'absolute time' setting
Check whether the absolute time check box is cleared.
Passed
Code Generation > Interface > absolute time is cleared.
_________________________________________________________________________________________
Verify 'continuous time' setting
Check whether the continuous time check box is cleared.
Passed
Code Generation > Interface > continuous time is cleared.
_________________________________________________________________________________________
Verify 'non-inlined S-functions' setting
Check whether the non-inlined S-functions check box is cleared.
Passed
Code Generation > Interface > non-inlined S-functions is cleared.
_________________________________________________________________________________________
Verify 'GRT compatible call interface' setting
Check whether the GRT compatible call interface check box is cleared.
Passed
Code Generation > Interface > GRT compatible call interface is cleared.
_________________________________________________________________________________________
Verify 'Single output/update function' setting
Check whether the Single output/update function check box is selected.
Passed
Code Generation > Interface > Single output/update function is selected.
_________________________________________________________________________________________
Verify 'Terminate function required' setting
Check whether the Terminate function required check box is cleared.
Passed
Code Generation > Interface > Terminate function required is cleared.
_________________________________________________________________________________________
Verify 'Suppress error status in real-time model data structure' setting
Check whether the Suppress error status in real-time model data structure check box is selected.
Passed
Code Generation > Interface > Suppress error status in real-time model data structure is selected.
_________________________________________________________________________________________
Verify 'MAT-file logging' setting
Check whether the MAT-file logging check box is cleared.
Passed
Code Generation > Interface > MAT-file logging is cleared.
_________________________________________________________________________________________
Verify 'Parentheses level' setting
Check whether the Parentheses level menu is set to Maximum (Specify precedence with parentheses).
Passed
Code Generation > Code Style > Parentheses level is set to Maximum (Specify precedence with parentheses).
_________________________________________________________________________________________
Verify 'Preserve operand order in expression' setting
Check whether the Preserve operand order in expression check box is selected.
Passed
Code Generation > Code Style > Preserve operand order in expression is selected.
_________________________________________________________________________________________
Verify 'Preserve condition expression in if statement' setting
Check whether the Preserve condition expression in if statement check box is selected.
Passed
Code Generation > Code Style > Preserve condition expression in if statement is selected.
_________________________________________________________________________________________
Verify 'Generate preprocessor conditionals' setting
Check whether the Generate preprocessor conditionals menu is set to Disable all.
Passed
Code Generation > Interface > Generate preprocessor conditionals is set to Disable all.
_________________________________________________________________________________________
Verify Minimum mangle length is 4 or greater
Passed
Code Generation > Symbols > Minimum mangle length is set to 4 or greater.
Verify 'Block diagram contains disabled library links' setting
Check whether the Block diagram contains disabled library links menu is set to error.
Passed
Diagnostics > Saving > Block diagram contains disabled library links is set to error
_________________________________________________________________________________________
Verify 'Block diagram contains parameterized library links' setting
Check whether the Block diagram contains parameterized library links menu is set to error.
Passed
Diagnostics > Saving > Block diagram contains parameterized library links is set to error
Check for blocks that do not link to a requirements document
Warning
The following blocks do not link to a requirements document:
Check for math operators that require non-finite number support.
Passed
There are no Math blocks in the model.
Compares the state machine type of all Stateflow charts to the desired type.
Passed
The model does not contain Stateflow charts.
| Name | Value |
| State Machine Type | Common |
Identify Stateflow charts that have User specified state/transition execution order cleared.
Passed
No Stateflow charts were found.
Identify whether the following Stateflow debugging options are cleared: Enable debugging/animation, Enable overflow detection (with debugging), Transition Conflict, Detect Cycles, State Inconsistency, and Data Range
Passed
No Stateflow charts were found.
Check for Lookup Table blocks, Prelookup blocks and Interpolation blocks that do not generate out-of-range checking code.
Passed
There are no Lookup Table blocks, Prelookup blocks and Interpolation blocks in the model.
Check consistent usage of vector indexing methods across the model or subsystem
Passed
No blocks using vector indexing were found
Identify blocks not supported by code generation or not recommended for C/C++ production code deployment.
Passed
Blocks not recommended for C/C++ production code deployment were not found in the model or subsystem.
Identifies local data identifiers that are defined in multiple scopes within a chart.
Passed
No Stateflow charts were found.
Identify usage of Math Operation blocks in Simulink that might impact safety
Check Abs blocks
Identify Absolute Value blocks that might produce unreachable code or overflows
Passed
All Abs blocks are using data types appropriately.
_________________________________________________________________________________________
Check for usage of Gain blocks
Identify Gain blocks whose value equals 1
Passed
There are no Gain blocks whose value equals 1 in the model or subsystem
Check Switch blocks
Identify Switch blocks that might generate code with inequality operations (~=) in expressions where at least one side of the expression is a floating-point variable or constant.
Passed
No Switch blocks that might generate code with inequality operations (~=) in expressions where at least one side of the expression is a floating-point variable or constant were found.
Identify usage of Logic and Bit Operations blocks in Simulink that might impact safety.
Check blocks that compute relational operators
Identify blocks computing a relational operator that is operating on different data types or equating floating-point types.
Passed
All blocks that compute relational operators are being used appropriately.
_________________________________________________________________________________________
Check Logic blocks
Identify Logical Operator blocks that have non-boolean inputs or outputs.
Passed
No Logic blocks that have non-boolean inputs or outputs were found.
Identify usage of Ports and Subsystems blocks in Simulink that might impact safety.
Check While Iterator blocks
Identify While Iterator blocks that might cause infinite loops.
Passed
There are no While Iterator blocks in the model.
_________________________________________________________________________________________
Check For Iterator blocks
Identify For Iterator blocks that cause variable loops.
Passed
There are no For Iterator blocks in this model.
_________________________________________________________________________________________
Check If blocks
Identify If blocks with If expressions or Elseif expressions that might cause floating point equality or inequality comparisons in generated code.
Identify If blocks using Elseif expressions without having an Else condition.
Identify If blocks with output ports that are not connected to If Action Subsystem blocks.
Passed
There are no If blocks in this model or subsystem.
_________________________________________________________________________________________
Check Switch Case blocks
Identify Switch Case blocks that do not have a default case.
Identify Switch Case blocks with output ports that are not connected to Switch Case Action Subsystem blocks.
Passed
No Switch Case blocks were found in the model or subsystem.
Identify MATLAB Function blocks that have inputs, outputs, or parameters with inherited complexity or data type properties.
Passed
No MATLAB Function blocks found in the model or subsystem.
Identify MATLAB Function blocks and external MATLAB functions that violate complexity limits.
Passed
No MATLAB Function blocks were found.
| Name | Value |
| Maximum effective lines of code per function | 60 |
| Minimum density of comments | 0.2 |
| Maximum cyclomatic complexity per function | 15 |
Display model configuration and checksum information.
Model configuration and checksum information
| Attribute | Value |
| Model Version | 1.164 |
| Author | bpotter |
| Date | Mon Feb 03 08:05:33 2014 |
| Model Checksum | 2694502046 3305692392 1986519701 1876337218 |